package com.eight.cloud.admin.service;

import com.eight.cloud.admin.entity.SysTenantEntity;
import com.eight.cloud.admin.model.dto.TenantDto;
import com.eight.cloud.mybatisplus.service.IBaseService;
import com.eight.cloud.openfeign.admin.vo.TenantVo;

/**
 * 租户服务类
 *
 * @InterfaceName: ITenantService
 * @Author: TXC
 * @Date: 2024-10-29 11:24
 **/
public interface ISysTenantService extends IBaseService<SysTenantEntity> {
    /**
     * 新增租户
     * @param tenant 租户信息
     * @return
     */
    SysTenantEntity add(SysTenantEntity tenant);

    /**
     * 租户编辑
     * @param uuid 租户id
     * @param tenantDto 租户信息
     * @return
     */
    boolean edit(String uuid, TenantDto tenantDto);

    /**
     * 查询租户详情
     * @param uuid 租户id
     * @return
     */
    TenantVo detail(String uuid);

    /**
     * 获取密钥
     * @param secretId
     * @return
     */
    TenantVo getTenantBySecretId(String secretId);

    /**
     * 租户生成密钥
     * @param uuid 租户id
     * @return
     */
    String generateSecret(String uuid);

    /**
     * 更新密钥
     * @param uuid 租户id
     * @return
     */
    String updateSecretKey(String uuid);
}
